Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / build-backend.js

Displaying Raw • Download


scripts/build-backend.js 8bc7e39aeef470001b305283b34698e29e3872af (8bc7e39a) Text, 2.08 KB

T8b949e#!/usr/bin/env node

Tff7b72const Tb4b4b4{ Te6edf3spawnSync Tb4b4b4} Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"child_process"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3fs Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"fs"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3path Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"path"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3crypto Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"crypto"Tb4b4b4)Tb4b4b4;

Tff7b72function Te6edf3getFilesTb4b4b4(Te6edf3dirTb4b4b4, Te6edf3fileList Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3files Tff7b72= Te6edf3fsTb4b4b4.Te6edf3readdirSyncTb4b4b4(Te6edf3dirTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3file Tff7b72of Te6edf3filesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3name Tff7b72= Te6edf3pathTb4b4b4.Te6edf3joinTb4b4b4(Te6edf3dirTb4b4b4, Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3fsTb4b4b4.Te6edf3statSyncTb4b4b4(Te6edf3nameTb4b4b4)Tb4b4b4.Te6edf3isDirectoryTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3getFilesTb4b4b4(Te6edf3nameTb4b4b4, Te6edf3fileListTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3fileListTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3nameTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3fileListTb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3generateManifestTb4b4b4(Te6edf3buildDirTb4b4b4, Te6edf3manifestPathTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Ta5d6ff"Generating backend integrity manifest..."Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3files Tff7b72= Te6edf3getFilesTb4b4b4(Te6edf3buildDirTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3manifest Tff7b72= Tb4b4b4{
Te6edf3_metadataTff7b72: Tb4b4b4{
Te6edf3versionTff7b72: T79c0ff1Tb4b4b4,
Te6edf3dateTff7b72: Tff7b72new Tffa657DateTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toISOStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"T"Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4,
Te6edf3timeTff7b72: Tff7b72new Tffa657DateTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toISOStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"T"Tb4b4b4)Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"."Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3filesTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;

Tff7b72for Tb4b4b4(Tff7b72const Te6edf3file Tff7b72of Te6edf3filesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3relativePath Tff7b72= Te6edf3pathTb4b4b4.Te6edf3relativeTb4b4b4(Te6edf3buildDirTb4b4b4, Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3fileBuffer Tff7b72= Te6edf3fsTb4b4b4.Te6edf3readFileSyncTb4b4b4(Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hash Tff7b72= Te6edf3cryptoTb4b4b4.Te6edf3createHashTb4b4b4(Ta5d6ff"sha256"Tb4b4b4)Tb4b4b4.Te6edf3updateTb4b4b4(Te6edf3fileBufferTb4b4b4)Tb4b4b4.Te6edf3digestTb4b4b4(Ta5d6ff"hex"Tb4b4b4)Tb4b4b4;
Te6edf3manifestTb4b4b4.Te6edf3filesTb4b4b4[Te6edf3relativePathTb4b4b4] Tff7b72= Te6edf3hashTb4b4b4;
Tb4b4b4}

Te6edf3fsTb4b4b4.Te6edf3writeFileSyncTb4b4b4(Te6edf3manifestPathTb4b4b4, Tffa657JSONTb4b4b4.Te6edf3stringifyTb4b4b4(Te6edf3manifestTb4b4b4, Tff7b72nullTb4b4b4, T79c0ff2Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Ta5d6ff`Ta5d6ffManifest saved to Tffd700${Te6edf3manifestPathTffd700}Ta5d6ff (Tffd700${Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Te6edf3manifestTb4b4b4.Te6edf3filesTb4b4b4)Tb4b4b4.Te6edf3lengthTffd700}Ta5d6ff files)Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72try Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Ta5d6ff"Building backend with cx_Freeze..."Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3result Tff7b72= Te6edf3spawnSyncTb4b4b4(Ta5d6ff"poetry"Tb4b4b4, Tb4b4b4[Ta5d6ff"run"Tb4b4b4, Ta5d6ff"python"Tb4b4b4, Ta5d6ff"cx_setup.py"Tb4b4b4, Ta5d6ff"build"Tb4b4b4]Tb4b4b4, Tb4b4b4{ Te6edf3stdioTff7b72: Ta5d6ff"inherit"Tb4b4b4, Te6edf3shellTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3resultTb4b4b4.Te6edf3errorTb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3resultTb4b4b4.Te6edf3errorTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3resultTb4b4b4.Te6edf3status Tff7b72!== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3processTb4b4b4.Te6edf3exitTb4b4b4(Te6edf3resultTb4b4b4.Te6edf3status Tff7b72|| T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72const Te6edf3buildDir Tff7b72= Te6edf3pathTb4b4b4.Te6edf3joinTb4b4b4(Te6edf3__dirnameTb4b4b4, Ta5d6ff".."Tb4b4b4, Ta5d6ff"build"Tb4b4b4, Ta5d6ff"exe"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3manifestPath Tff7b72= Te6edf3pathTb4b4b4.Te6edf3joinTb4b4b4(Te6edf3__dirnameTb4b4b4, Ta5d6ff".."Tb4b4b4, Ta5d6ff"electron"Tb4b4b4, Ta5d6ff"backend-manifest.json"Tb4b4b4)Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3fsTb4b4b4.Te6edf3existsSyncTb4b4b4(Te6edf3buildDirTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3generateManifestTb4b4b4(Te6edf3buildDirTb4b4b4, Te6edf3manifestPathTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Build directory not found, manifest generation skipped."Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Build failed:"Tb4b4b4, Te6edf3errorTb4b4b4.Te6edf3messageTb4b4b4)Tb4b4b4;
Te6edf3processTb4b4b4.Te6edf3exitTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────